// Copyright 2010 Shantanu Shah<shantanus@gmail.com>
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.shansense.airplanemodetimer;

import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.provider.Settings;

public class AirplaneModeUtil {
  public static final String packageName = "com.shansense.airplanemodetimer";
  public static int getNotificationIcon() {
    return android.R.drawable.ic_notification_clear_all;
  }
  
  public static void clearNotifications(Context context) {
    NotificationManager nm = (NotificationManager) 
        context.getSystemService(Context.NOTIFICATION_SERVICE);
    nm.cancel(getNotificationIcon());
  }
  
  public static void leaveModeAndClearNotifications(Context context) {
    if (isModeSet(context)) {
      Settings.System.putInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0);
        // 0 is off
      Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
      intent.putExtra("state", false); // false - off
      context.sendBroadcast(intent);
    }
    clearNotifications(context);
  }
  
  public static boolean isModeSet(Context context) {
    return Settings.System.getInt(context.getContentResolver(),
        Settings.System.AIRPLANE_MODE_ON, 0) != 0;
  }

  public static String getAppName() {
    return "AirplaneModeTimer";
  }
}
